package parse

import (
	"encoding/json"
	"github.com/gin-gonic/gin"
	"io"
	"ubt-gin-admin/app/pkg/logger"
)

// Parse 将请求参数转换成结构体
func Parse(ctx *gin.Context, s any) string {
	// 读取请求参数
	if req, err := io.ReadAll(ctx.Request.Body); err == nil {
		// 将请求参数转换成结构体
		if err = json.Unmarshal(req, &s); err == nil {
			return ValidateStruct(s)
		}
		logger.Error("请求的参数或其格式错误。" + err.Error())
	}
	return "对不起，请求的参数或其格式错误，请重试！"
}
